﻿/**  版本信息模板在安装目录下，可自行修改。
* FA_CHECK.cs
*
* 功 能： N/A
* 类 名： FA_CHECK
*
* Ver    变更日期             负责人  变更内容
* ───────────────────────────────────
* V0.01  2013/10/14 11:18:04   N/A    初版
*
* Copyright (c) 2012 TKFA Corporation. All rights reserved.
*┌──────────────────────────────────┐
*│　此技术信息为本公司机密信息，未经本公司书面同意禁止向第三方披露．　│
*│　版权所有：TKFA　　　　　　　　　　　　　　│
*└──────────────────────────────────┘
*/
using System;
using System.Data;
using System.Collections.Generic;

using TKFA.Model;
using TKFA.DALFactory;
using TKFA.IDAL;
namespace TKFA.BLL
{
	/// <summary>
	/// 盘点
	/// </summary>
	public partial class FA_CHECK
	{
		private readonly IFA_CHECK dal=DataAccess.CreateFA_CHECK();
		public FA_CHECK()
		{}
		#region  BasicMethod

		/// <summary>
		/// 增加一条数据
		/// </summary>
		public bool Add(TKFA.Model.FA_CHECK model)
		{
			return dal.Add(model);
		}

		/// <summary>
		/// 更新一条数据
		/// </summary>
		public bool Update(TKFA.Model.FA_CHECK model)
		{
			return dal.Update(model);
		}

		/// <summary>
		/// 删除一条数据
		/// </summary>
		public bool Delete()
		{
			//该表无主键信息，请自定义主键/条件字段
			return dal.Delete();
		}

		/// <summary>
		/// 得到一个对象实体
		/// </summary>
		public TKFA.Model.FA_CHECK GetModel()
		{
			//该表无主键信息，请自定义主键/条件字段
			return dal.GetModel();
		}

		/// <summary>
		/// 得到一个对象实体，从缓存中
		/// </summary>
		public TKFA.Model.FA_CHECK GetModelByCache()
		{
			//该表无主键信息，请自定义主键/条件字段
			string CacheKey = "FA_CHECKModel-" ;
			object objModel = Maticsoft.Common.DataCache.GetCache(CacheKey);
			if (objModel == null)
			{
				try
				{
					objModel = dal.GetModel();
					if (objModel != null)
					{
						int ModelCache = Maticsoft.Common.ConfigHelper.GetConfigInt("ModelCache");
						Maticsoft.Common.DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(ModelCache), TimeSpan.Zero);
					}
				}
				catch{}
			}
			return (TKFA.Model.FA_CHECK)objModel;
		}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetList(string strWhere)
		{
			return dal.GetList(strWhere);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<TKFA.Model.FA_CHECK> GetModelList(string strWhere)
		{
			DataSet ds = dal.GetList(strWhere);
			return DataTableToList(ds.Tables[0]);
		}
		/// <summary>
		/// 获得数据列表
		/// </summary>
		public List<TKFA.Model.FA_CHECK> DataTableToList(DataTable dt)
		{
			List<TKFA.Model.FA_CHECK> modelList = new List<TKFA.Model.FA_CHECK>();
			int rowsCount = dt.Rows.Count;
			if (rowsCount > 0)
			{
				TKFA.Model.FA_CHECK model;
				for (int n = 0; n < rowsCount; n++)
				{
					model = dal.DataRowToModel(dt.Rows[n]);
					if (model != null)
					{
						modelList.Add(model);
					}
				}
			}
			return modelList;
		}

		/// <summary>
		/// 获得数据列表
		/// </summary>
		public DataSet GetAllList()
		{
			return GetList("");
		}

		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public int GetRecordCount(string strWhere)
		{
			return dal.GetRecordCount(strWhere);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
		{
			return dal.GetListByPage( strWhere,  orderby,  startIndex,  endIndex);
		}
		/// <summary>
		/// 分页获取数据列表
		/// </summary>
		//public DataSet GetList(int PageSize,int PageIndex,string strWhere)
		//{
			//return dal.GetList(PageSize,PageIndex,strWhere);
		//}

		#endregion  BasicMethod
		#region  ExtensionMethod

        public void SetCheck(string scheckplanid,DataTable dt)
        {
            BLL.FA_CHECKPLAN bplan = new FA_CHECKPLAN();
            DataTable dplan = bplan.GetCheckPlanValue(scheckplanid);
            string guid = Guid.NewGuid().ToString();
            foreach (DataRow dr in dplan.Rows)
            {
                Model.FA_CHECK check = new Model.FA_CHECK();
                check.SPERIOD = dr["SPERIOD"].ToString();
                check.SMASTERCARDCODE = dr["SCP_MCARDCODE"].ToString();
                check.SCORPCODE = dr["SCORPCODE"].ToString();
                check.SCONTENTSCODE = dr["SCONTENTSCODE"].ToString();

                if (dt.Select(" SCP_MCARDCODE='" + dr["SCP_MCARDCODE"].ToString() + "'").Length > 0)
                {
                    check.SCHECKRESULT = "1";
                }
                else
                {
                    check.SCHECKRESULT = "0";
                }

                check.SCHECKPLANID = dr["SCHECKPLANID"].ToString();
                check.SCHECKNAME = dr["SCHECKPLANNAME"].ToString(); ;
                check.SCHECKID = guid;
                check.SCHECK_USER="系统";
                check.SCHECK_DATE="";
                check.SCHECK_BY="";
                check.SASSETSCODE = dr["SCP_ASSETSCODE"].ToString();

                if (check.SCHECKRESULT.Equals("1")&&dal.Add(check))
                {
                    dr["status"] = "1";
                    bplan.UpdateTatus(bplan.DataRowToModel(dr));
                }
            }
            
        }



		#endregion  ExtensionMethod
	}
}

